﻿using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;

namespace NP.BPMReportPlatform.RecurringJobs.Dto.AccountOpenChage
{
    /// <summary>
    /// 历史流程 Dto
    /// </summary>
    public class HistoryAccountDto
    {
        /// <summary>
        /// 流程实例编号
        /// </summary>
        [JsonProperty(PropertyName = "instanceNumber")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 拟申请账户
        /// </summary>
        [JsonProperty(PropertyName = "applyAccount")]
        public string ApplyAccount { get; set; }

        /// <summary>
        /// 主体名称
        /// </summary>
        [JsonProperty(PropertyName = "principalName")]
        public string PrincipalName { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        [JsonProperty(PropertyName = "addUserName")]
        public string AddUserName { get; set; }

        /// <summary>
        /// 申请时间
        /// </summary>
        [JsonProperty(PropertyName = "addTime")]
        public string AddTime { get; set; }
        public DateTime AddDatetime { get; set; }

        /// <summary>
        /// 起始流程编号
        /// </summary>
        [JsonProperty(PropertyName = "originInstanceNumber")]
        public string OriginInstanceNumber { get; set; }

        /// <summary>
        /// 账号编码
        /// </summary>
        [JsonProperty(PropertyName = "sn")]
        public string Sn { get; set; }

        [JsonProperty(PropertyName = "platformName")]
        public string PlatformName { get; set; }

        [JsonProperty(PropertyName = "subPlatformName")]
        public string SubPlatformName { get; set; }

        /// <summary>
        /// 历史流程ID
        /// </summary>
        [JsonProperty(PropertyName = "referProcessID")]
        public string ReferProcessID { get; set; }

        public DateTime? ApprovedTime { get; set; }

        [JsonProperty(PropertyName = "pageIndex")]
        public int PageIndex { get; set; } = 1;
        [JsonProperty(PropertyName = "pageSize")]
        public int PageSize { get; set; } = 10;

        [JsonProperty(PropertyName = "operationType")]
        public string OperationType { get; set; }

        [JsonProperty(PropertyName = "workNumber")]
        public string WorkNumber { get; set; }

        public bool IsChanging { get; set; }

        public string AdminWorkNumber { get; set; }

        public string Url { get; set; }
    }
}
